home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / raid / multipath.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  912b  |  43 lines

  1. #ifndef _MULTIPATH_H
  2. #define _MULTIPATH_H
  3.  
  4. #include <linux/raid/md.h>
  5.  
  6. struct multipath_info {
  7.     mdk_rdev_t    *rdev;
  8. };
  9.  
  10. struct multipath_private_data {
  11.     mddev_t            *mddev;
  12.     struct multipath_info    *multipaths;
  13.     int            raid_disks;
  14.     int            working_disks;
  15.     spinlock_t        device_lock;
  16.     struct list_head    retry_list;
  17.  
  18.     mempool_t        *pool;
  19. };
  20.  
  21. typedef struct multipath_private_data multipath_conf_t;
  22.  
  23. /*
  24.  * this is the only point in the RAID code where we violate
  25.  * C type safety. mddev->private is an 'opaque' pointer.
  26.  */
  27. #define mddev_to_conf(mddev) ((multipath_conf_t *) mddev->private)
  28.  
  29. /*
  30.  * this is our 'private' 'collective' MULTIPATH buffer head.
  31.  * it contains information about what kind of IO operations were started
  32.  * for this MULTIPATH operation, and about their status:
  33.  */
  34.  
  35. struct multipath_bh {
  36.     mddev_t            *mddev;
  37.     struct bio        *master_bio;
  38.     struct bio        bio;
  39.     int            path;
  40.     struct list_head    retry_list;
  41. };
  42. #endif
  43.